Transport speed adjustment device, transport speed adjustment method and transport speed adjustment program for adjusting transport speed of tape medium

ABSTRACT

A tape drive capable of switching the transport speed of a tape medium among multilevel speeds calculates a data transfer rate from/to a host device, and selects an adjustment mode of the transport speed of the tape medium from a constant speed mode and a speed switch mode according to the calculated data transfer rate. The tape drive in the speed switch mode, pauses a data write or read operation to switch the transport speed of the tape medium while data is written at a first transport speed and when an available capacity of a buffer memory reaches a data volume to be received from the host device during switching of the transport speed and is read out at the first transport speed and when a data volume of a buffer memory reaches a data volume to be transmitted to the host device during switching of the transport speed.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a Continuation of U.S. patent applicationSer. No. 13/002,894, filed on Jan. 6, 2011, which is a U.S. NationalStage entry under 35 U.S.C. §371 based on International Application No.PCT/JP2009/062199, filed Jul. 3, 2009, which was published under PCTArticle 21(2) and which claims priority to Japanese Patent ApplicationNo. 2008-177986, filed Jul. 8, 2008.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a method for adjusting a transportspeed of a tape medium in a tape drive, especially to a method foroptimally adjusting a transport speed of a linear recording tape mediumin a tape drive.

2. Description of the Related Art

In general, during a data write operation, a tape drive temporarilystores data transmitted from a host device into a buffer memory, andthereafter reads out the stored data from the buffer memory to write thedata into a tape medium. Similarly, during a data read operation, thetape drive temporarily stores data read out from the tape medium intothe buffer memory, and thereafter reads out the stored data from thebuffer memory to transmit the data to the host device. The tape driveperforms these data write and read operations by causing relativemovement between a head and the tape medium. Accordingly, in a tapedrive, a data transfer rate between a tape medium and a buffer memory isproportional to a transport speed of the tape medium.

In a conventional tape drive, the tape medium is transported at atransport speed selected from the following two values so as not to makea host device wait, in the interest of a performance of the entiresystem. Specifically, if the tape medium can be transported at such atransport speed that makes a data transfer rate to/from the host deviceequal to a data transfer rate to/from the tape medium, this transportspeed is selected. On the other hand, if this transport speed isimpossible, such a transport speed that makes the data transfer rateto/from the tape medium higher than the data transfer rate to/from thehost device is selected. However, when the tape medium is transported atsuch a transport speed that the data transfer rate to/from the tapemedium higher than the data transfer rate to/from the host device, backhitches occur in the tape drive. Specifically, in this case, a backhitch occurs every time the buffer memory empties during a data writeoperation, and every time the buffer memory becomes full during a dataread operation.

A back hitch is an operation of firstly reducing a transport speed of atape medium to stop it for a while and then transporting the tape mediumback to a predetermined position in order to reposition the tape mediumto an appropriate data write or read out position. Since the back hitchis a burden to the tape medium, fewer the back hitches the better. Forexample, if the tape drive can be caused to constantly operate at such atransport speed that makes the data transfer rate to/from the hostdevice equal to the data transfer rate to/from the tape medium, no backhitch occurs in the tape drive. However, in order to make the tape drivecapable of constantly operating at such a transport speed that makes thedata transfer rate to/from the tape medium equal to the data transferrate to/from the host device, which can be any rate, the transport speedof the tape medium should be set switchable among on the order of 100levels. However, this method is not realistic for the following reason.

It is known that an error rate during a data read operation depends onboth a transport speed of the tape medium during the operation and atransport speed of the tape medium during a data write operation for thedata to be read out. Thus, if the transport speed of the tape medium isset switchable among on the order of 100 levels, it should be checkedthat an error rate during a data read operation falls within a rangespecified in the specifications, for each of the multilevel transportspeeds. However, this means that the above test should be conducted for10000 combinations of the multilevel transport speeds.

For example, Japanese Patent Application Publication No. 2000-348432discloses an example of a conventional technique for preventing decreasein data transfer efficiency between a tape drive and a host device toreduce damage on a tape medium caused by back hitches to a levelequivalent to that caused by normal reproduction. Specifically, amagnetic record/reproduction system disclosed in Japanese PatentApplication Publication No. 2000-348432 monitors a data volume in abuffer memory during a data reproduction operation, and outputs aninstruction to decrease a transport speed of a magnetic tape in stagesso as to decrease a data reproduction speed if a data transfer raterequired by a host computer gets lower than a data read rate.

Meanwhile, Japanese Patent Application Publication No. 2007-42159discloses an improved version of the technique disclosed in JapanesePatent Application Publication No. 2000-348432. Specifically, a datareproduction device disclosed in Japanese Patent Application PublicationNo. 2007-42159 is capable of switching a reproduction speed of a tapedrive among multilevel speeds. The data reproduction device determinesthe number of memory regions in storage means each available for storinga group of data; and the number of memory regions in the storage meanseach storing therein a group of data ready for transmission to anexternal device, and switches the reproduction speed according to thesedetermined numbers. In addition, Japanese Patent Application PublicationNo. 2007-42159 regards it as a problem that a back hitch will eventuallyoccur in the magnetic record/reproduction system disclosed in JapanesePatent Application Publication No. 2000-348432 if it fails to pick upany data set during the switch of the reproduction speed or is likely tofail. Therefore, Japanese Patent Application Publication No. 2007-42159discloses a technique of compensating for a data set that a data drivehas failed to pick up, with an error correcting code (C2 parity or C3parity), and thereby causing no back hitch operation to eventually occurduring the switch of the reproduction speed.

SUMMARY OF THE INVENTION

If the technique disclosed in Japanese Patent Application PublicationNo. 2007-42159 is applied to a tape drive including a phase locked loop(PLL) in a locked condition to maintain a transport speed of a tapemedium constant, some back hitches still occur therein during the switchof the transport speed. This is because, since such a tape driveperforms a data write or read operation under the assumption that thePLL is in a locked condition and that the transport speed of the tapemedium is constant, the data write or read operation needs to be stoppedfor a while during the switch of the transport speed of the tape medium.Accordingly, back hitches will inevitably occur in such a tape drive.

Note that the assumption that the PLL is in a locked condition and thatthe transport speed of the tape medium is constant is necessary for atrack position of the tape medium and a linear recording density to fallwithin their allowances. In a tape drive, especially in a linearrecording tape drive, an off-track displacement might result in theoverwriting of data in an adjacent track. Meanwhile, if data is recordedin the tape medium with a linear recording density beyond the allowance,the tape drive might be unable to read out the data during a data readoperation. Thus, the tape drive performs data write and read outoperations under the assumption that the PLL is in a locked conditionand that the transport speed of the tape medium is constant, and therebyassures that the track position of the tape medium and the linearrecording density fall within their allowances.

Under such circumstances, the present invention has an object to providea transport speed adjustment method, a transport speed adjustment deviceand a transport speed adjustment program that are capable of solving theabove problems, that is, capable of reducing back hitches whilepreventing decrease in data transfer efficiency between a host deviceand a tape drive configured to stop a data write or read operation for awhile during the switch of a transport speed of a tape medium.

It has been found that such an adjustment mode of a transport speed of atape medium more effective in reducing back hitches varies with a changein a first transfer rate which is a data transfer rate between a hostdevice and a tape drive. Hence, the present invention employs aconfiguration in which an adjustment mode of a transport speed of a tapemedium is selected from multiple modes in accordance with a firsttransfer rate instead of employing a fixed adjustment mode of thetransport speed of the tape medium. Specifically, the present inventionto achieve the above object is implemented by the following transportspeed adjustment device for adjusting a transport speed of a tapemedium. According to the present invention, a tape drive capable ofswitching a transport speed of a tape medium among multilevel speedsincludes receiving means, a buffer memory, transport means and writingmeans. The receiving means receives data from a host device through anetwork. The buffer memory temporarily stores the received data therein.The transport means transports the tape medium in a longitudinaldirection thereof at a transport speed selected from multileveltransport speeds at which transport means can transport the tape medium.The writing means writes the data in the buffer memory into a trackformed to extend in the transport direction of the tape medium. Theabove transport speed adjustment device is implemented by the foregoingtape drive further including the following means.

Specifically, the above transport speed adjustment device furtherincludes transfer rate calculation means, mode selection means,transport speed setting means, required time obtaining means, thresholdcalculation means, monitoring means and speed adjustment means. Thetransfer rate calculation means calculates a first transfer rate whichis a data transfer rate between the host device and the tape drive. Themode selection means selects, from adjustment modes consisting of aspeed switch mode and a constant speed mode, an adjustment modecorresponding to the calculated first transfer rate, by referring to amode selection table in which such an adjustment mode more effective inreducing back hitches is defined in accordance with the first transferrate. Here, the transport speed is switched between a first transportspeed and a second transport speed in the speed switch mode, while thetransport speed is fixed at the second transport speed in the constantspeed mode. The first transport speed is the highest speed of one ormore transport speeds at which the transport means can be caused tooperate under a condition that a second transfer rate, which is a datatransfer rate between the buffer memory and the tape medium, is lowerthan the first transfer rate. The second transport speed is one-levelhigher than the first transport speed. The transport speed setting meanscauses the transport means to operate at the first transport speed atthe beginning of data writing, in response to selection of the speedswitch mode. The required time obtaining means obtains a time requiredto switch the transport speed of the tape medium from the firsttransport speed to the second transport speed, in response to theselection of the speed switch mode. The threshold calculation meanscalculates, from the first transfer rate and the obtained required time,a data volume expected to be received from the host device during switchof the transport speed, as a threshold. The monitoring means monitors anavailable data storage capacity of the buffer memory while data iswritten at the first transport speed in the speed switch mode, andoutputs a first switch notice if the available capacity reaches thethreshold. The speed adjustment means stops movement of the writingmeans and causes the transport means to operate at the second transportspeed, in response to the first switch notice.

Preferably, the above transport speed adjustment device should furtherinclude compression means for compressing the received data before thedata is stored in the buffer memory. The transfer rate calculation meanscalculates V/T as the first transfer rate, from a data volume V storedin the buffer memory in a time span T.

Preferably, the monitoring means should also monitor an available datastorage capacity of the buffer memory while data is written at thesecond transport speed in the speed switch mode, and also outputs asecond switch notice if the available capacity reaches the initialcapacity of the buffer memory. The speed adjustment means shouldpreferably also stop movement of the writing means and causes thetransport means to operate at the first transport speed, in response tothe second switch notice.

Preferably, the required time should include: a time required to pausetransportation of the tape medium; a time required to rewind the tapemedium for positioning of the writing means; and a time required to setthe transport direction of the tape medium back to a normal transportdirection and to switch the transport speed from the first transportspeed to the second transport speed.

Preferably, the above transport speed adjustment device should furtherinclude a storage for storing therein a table. In the table, each of themultilevel transport speeds at which the transport means can be causedto operate is associated with one of aforementioned second transferrates. Here, the associated second transfer rate is to be selected whenthe transport means is caused to operate at the transport speed. Thetransport speed setting means should preferably determine a transportspeed at which the transport means is caused to operate, by referring tothe table.

More preferably, the above transport speed adjustment device shouldfurther include management information adding means and correctioninformation adding means. The management information adding means adds,to the data stored in the buffer memory, management information used formanaging the data in the transport speed adjustment device. Thecorrection information adding means adds, to the data stored in thebuffer memory, error correction information used for performing errorcorrection on the data. As the second transfer rate in theaforementioned table, V/T should more preferably be calculated from adata volume V firstly processed by both the management informationadding means and the correction information adding means and thentransmitted to the tape medium in a time span T.

In addition, the present invention to achieve the above object is alsoimplemented by the following transport speed adjustment device foradjusting a transport speed of a tape medium. According to the presentinvention, a tape drive capable of switching a transport speed of a tapemedium among multilevel speeds includes transport means, reading means,a buffer memory and transmitting means. The transport means transportsthe tape medium in a longitudinal direction thereof at a transport speedselected from multilevel transport speeds at which transport means cantransport the tape medium. The reading means reads out data recorded ina track formed to extend in the transport direction of the tape medium.The buffer memory temporarily stores the read out data therein. Thetransmitting means transmits the data in the buffer memory to a hostdevice through a network. The above transport speed adjustment device isimplemented by the foregoing tape drive further including the followingmeans.

Specifically, the above transport speed adjustment device furtherincludes transfer rate calculation means, mode selection means, requiredtime obtaining means, threshold calculation means, monitoring means andspeed adjustment means. The transfer rate calculation means calculates afirst transfer rate which is a data transfer rate between the hostdevice and the transport speed adjustment device. The mode selectionmeans selects, from adjustment modes consisting of a speed switch modeand a constant speed mode, an adjustment mode corresponding to thecalculated first transfer rate, by referring to a mode selection tablein which such an adjustment mode more effective in reducing back hitchesis defined in accordance with the first transfer rate. Here, thetransport speed is switched between a first transport speed and a secondtransport speed in the speed switch mode, while the transport speed isfixed at the second transport speed in the constant speed mode. Thefirst transport speed is the highest speed of one or more transportspeeds at which the transport means can be caused to operate under acondition that a second transfer rate, which is a data transfer ratebetween the buffer memory and the tape medium, is lower than the firsttransfer rate. The second transport speed is one-level higher than thefirst transport speed. The required time obtaining means obtains a timerequired to switch the transport speed of the tape medium from the firsttransport speed to the second transport speed, in response to theselection of the speed switch mode. The threshold calculation meanscalculates, from the first transfer rate and the obtained required time,a data volume expected to be transmitted to the host device duringswitch of the transport speed, as a threshold. The monitoring meansmonitors a data volume stored in the buffer memory while data is readout at the first transport speed in the speed switch mode, and outputs afirst switch notice if the data volume reaches the threshold. The speedadjustment means stops movement of the reading means and causes thetransport means to operate at the second transport speed, in response tothe first switch notice.

Preferably, the above transport speed adjustment device should furtherinclude decompression means for decompressing the data read out from thebuffer memory before the data is transmitted to the host device. In thetape medium, compressed data should preferably be recorded. The transferrate calculation means should preferably calculate V/T as the firsttransfer rate, from a data volume V forwarded from the buffer memory tothe decompression means in a time span T.

Preferably, the required time should include: a time required to pausetransportation of the tape medium; a time required to rewind the tapemedium for positioning of the reading means; and a time required to setthe transport direction of the tape medium back to a normal transportdirection and to switch the transport speed from the first transportspeed to the second transport speed.

Preferably, the above transport speed adjustment device should furtherinclude transport speed setting means for causing the transport means tooperate at the second transport speed at the beginning of data reading.Note that the second transport speed is also the lowest speed of one ormore transport speeds at which the transport means can be caused tooperate under a condition that the second transfer rate is higher thanthe first transfer rate. The monitoring means should preferably alsomonitor a data volume stored in the buffer memory while data is read outat the second transport speed in the speed switch mode, and also outputsa second switch notice if the data volume reaches the initial capacityof the buffer memory. The speed adjustment means should preferably alsostop movement of the reading means and cause the transport means tooperate at the first transport speed, in response to the second switchnotice.

More preferably, the above transport speed adjustment device shouldfurther include a storage for storing therein a table. In the table,each of the multilevel transport speeds at which the transport means canbe caused to operate is associated with one of aforementioned secondtransfer rates. Here, the associated second transfer rate is to beselected when the transport means is caused to operate at the transportspeed. The transport speed setting means should more preferablydetermine a transport speed at which the transport means is caused tooperate, by referring to the table.

More preferably, the above transport speed adjustment device shouldfurther include error correction means for performing error correctionon the data stored in the buffer memory. As the second transfer ratestored in the table, V/T should more preferably be calculated from adata volume V firstly read out from the tape medium to the buffer memoryand then processed by the error correction means in a time span T.

Hereinabove, the present invention has been described as a transportspeed adjustment device for adjusting a transport speed of a tapemedium. However, the present invention can also be conceived as atransport speed adjustment method to be employed in a tape drive capableof switching a transport speed of a tape medium among multilevel speedsand a transport speed adjustment program to be executed on such a tapedrive.

According to the present invention, in a tape drive configured to stop adata write or read operation for a while during the switch of atransport speed of a tape medium, such an adjustment mode of a transportspeed of a tape medium more effective in reducing back hitches isselected from adjustment modes consisting of a speed switch mode and aconstant speed mode, in accordance with a first transfer rate which is adata transfer rate from/to a host device. In the speed switch mode, thetransport speed of the tape medium is switched between a first transportspeed and a second transport speed.

Here, the first transport speed makes a second transfer rate, which is adata transfer rate from/to the tape medium, lower than the firsttransfer rate, while the second transport speed is one-level higher thanthe first transport speed and makes the second transfer rate higher thanthe first transfer rate.

Meanwhile, the transport speed of the tape medium is fixed at the secondtransport speed in the constant speed mode. Each of the aboveconventional techniques employs a fixed method for adjusting a transportspeed of a tape medium, that is, a fixed adjustment mode. By contrast,in the present invention, an optimum adjustment mode is selected inaccordance with the first transfer rate. Thus, the present invention canreduce more back hitches than these conventional techniques. Moreover,the present invention assures secure data reception or transmissionfrom/to the host device even during the switch of the transport speed ofthe tape medium. Accordingly, the present invention makes it possible toreduce back hitches while preventing decrease in data transferefficiency between the tape drive and the host device. The other effectsof the present invention will be understood from the followingdescription of an embodiment.

BRIEF DESCRIPTION OF THE DRAWINGS

In order that the advantages of the invention will be readilyunderstood, a more particular description of the invention brieflydescribed above will be rendered by reference to specific embodimentsthat are illustrated in the appended drawings. Understanding that thesedrawings depict only typical embodiments of the invention and are nottherefore to be considered to be limiting of its scope, the inventionwill be described and explained with additional specificity and detailthrough the use of the accompanying drawings, in which:

FIG. 1 shows an example of a hardware configuration of a tape drive towhich the present invention can be applied;

FIG. 2A shows an example of a configuration of a recording area of atape medium, according to an embodiment of the present invention

FIG. 2B shows an example of a configuration of a band;

FIG. 2C shows an example of a configuration of a data set;

FIG. 3 shows an example of a functional configuration of a controller,according to the embodiment of the present invention;

FIG. 4 is a graph showing relations of the number of back hitches totransfer rates between a host device and a conventional tape drive andbetween the host device and the tape drive to which the presentinvention is applied;

FIG. 5 is a graph showing relations of the number of back hitches totransfer rates between a host device and a conventional tape drive witha larger buffer memory, and between the host device and the tape drivewith a larger buffer memory to which the present invention is applied;

FIG. 6A shows an example of a mode selection table, according to theembodiment;

FIG. 6B shows an example of an association table, according to theembodiment;

FIG. 6C shows an example of a required time table, according to theembodiment;

FIG. 7 shows an example of a travel path of a read/write head on thetape medium obtained while the transport speed of the tape medium isswitched;

FIG. 7 shows an example of a travel path of a read/write head on thetape medium obtained while the transport speed of the tape medium isswitched;

FIG. 8A shows an example of a state of the buffer memory at a timingwhen the transport speed of the tape medium starts to be switched to thesecond transport speed during the data write operation;

FIG. 8B shows an example of a state of the buffer memory at a timingwhen the transport speed starts to be switched to the first transportspeed during the data write operation;

FIG. 9A shows an example of a state of the buffer memory at a timingwhen the transport speed of the tape medium starts to be switched to thefirst transport speed during the data read operation;

FIG. 9B shows an example of a state of the buffer memory at a timingwhen the transport speed starts to be switched to the second transportspeed during the data read operation;

FIG. 10 is a flowchart showing an example of a processing flow in whichthe controller according to the embodiment of the present inventionadjusts the transport speed of the tape medium during the data writeoperation; and

FIG. 11 is a flowchart showing an example of a processing flow in whichthe controller according to the embodiment of the present inventionadjusts the transport speed of the tape medium during the data readoperation.

DETAILED DESCRIPTION OF THE DRAWINGS

Hereinbelow, detailed description will be given of an embodiment of thepresent invention with reference to the drawings. Note, however, thatthe embodiment to be described below does not limit the presentinvention defined by the scope of the claims, and that not all thecombinations of the features described in the embodiment are essentialfor the solving means of the present invention. Throughout the followingembodiment, the same elements are denoted by the same referencenumerals.

In the following description of the present invention, a tape drivecomplying with the linear tape open (LTO) standard is taken as anexample. The LTO standard is an open format standard developed jointlyby Hewlett-Packard Company, IBM Corporation, and Seagate Technology LLC.

FIG. 1 shows an example of a hardware configuration of a tape drive 100complying with the LTO standard. The embodiment of the present inventionis applied to the tape drive 100. The tape drive 100 includes acommunication interface 105, a buffer memory 110, a recording channel115, a read/write unit 120, a positioning unit 125, a motor driver 130,a motor 135 and a controller 150. In addition, the tape drive 100according to this embodiment also includes a compression/decompressionunit 140 and an error correction processor 145.

The communication interface 105 communicates with a host device 200. Forexample, the communication interface 105 receives, from the host device200, user data to be written in a tape medium 300 and a write command toinstruct the tape drive 100 to write the data in the tape medium 300.

The tape drive 100 is connected to the host device 200 through a smallcomputer system interface (SCSI) and a network such as a local areanetwork (LAN). Alternatively, the tape drive 100 may be connected to thehost device 200 through a network such as a dedicated line or theInternet. Still alternatively, the tape drive 100 may be connected to aninformation processor such as a personal computer through acommunication interface such as a SCSI interface or a LAN to beeventually connected to the host device 200 through the informationprocessor.

The buffer memory 110 temporarily stores therein data to be written inthe tape medium 300 and data read out from the tape medium 300, and isconfigured with, for example, a dynamic random access memory (DRAM). Thebuffer memory 110 according to this embodiment is partitioned intosegments each having a size of approximately 2 megabytes, which is equalto the size of a data set treated as a unit data in the tape drive 100complying with the LTO standard.

The recording channel 115 is a communication channel used for writing,into the tape medium 300, data stored in the buffer memory 110, and fortemporarily storing data read out from the tape medium 300 into thebuffer memory 110.

The read/write unit (read/write head) 120 has a data-read/write element,thereby writes data into the tape medium 300 and reads out data from thetape medium 300. In addition, the read/write unit 120 according to thisembodiment also has a servo read element and thereby reads out a signalfrom servo tracks provided on the tape medium 300.

The positioning unit 125 instructs the read/write unit 120 to move in adirection (width direction) parallel to the shorter sides of the tapemedium 300. Reels 137 a and 137 b rotates to move the tape medium 300 ina direction from the reel 137 a to the reel 137 b or in a direction fromthe reel 137 b to the reel 137 a. The motor driver 130 drives the motor135, and the motor 135 controls rotation of the reels 137 a and 137 b totransport the tape medium 300 in the longitudinal direction thereof.Note that, hereinbelow, the positioning unit 125, the motor driver 130and the motor 135 are collectively referred to as a transport unit 139.The transport unit 139 according to the present invention is capable ofswitching among different transport speeds of the tape medium 300.

When the communication interface 105 receives data during a data writeoperation, the compression/decompression unit 140 compresses thereceived data before the data is stored in the buffer memory 110. Thedata compressed by the compression/decompression unit 140 is stored inthe buffer memory 110 in a manner that each data set is stored in asegment of the buffer memory 110. On the other hand, when the compresseddata read out from the tape medium 300 is stored in the buffer memory110 during a data read operation, the compression/decompression unit 140decompresses the compressed data before the data is transmitted to thehost device 200 through the communication interface 105.

The controller 150 controls the whole tape drive 100. Specifically, thecontroller 150 controls the writing of data into the tape medium 300 andthe reading out of data from the tape medium 300 according to a commandreceived through the communication interface 105. In addition, thecontroller 150 controls the transport unit 139 to adjust the transportspeed of the tape medium 300. The controller 150 according to thepresent invention causes, at an appropriate timing, the transport unit139 to transport the tape medium 300 at an appropriate transport speedso as to reduce back hitches while preventing decrease in data transferefficiency between the tape drive 100 and the host device 200. Thetransport speed adjustment performed by the controller 150 will bedescribed in detail later.

During the data write operation, the controller 150 according to thisembodiment also creates a management information piece indicatingcontents of a data set stored in each segment of the buffer memory 110and stores each management information piece in a segment including thecorresponding data set. Such a management information piece is called adata set information table (DSIT). Note that, during the data readoperation, the management information pieces respectively added to thedata sets in the segments are not transmitted to the host device 200.

The foregoing controller 150 is implemented by a CPU 152, a RAM 154 anda ROM 156. Here, the ROM 156 stores therein a boot program executed bythe CPU 152 in the boot-up of the tape drive 100 and programs causingthe controller 150 to provide the above functions after the tape drive100 is booted, such as a transport speed adjustment program according tothe present invention. The CPU 152 executes these programs by using theRAM 154.

During the data write operation, the error correction processor 145calculates an error correcting code (hereinbelow, referred to as ECC)for a data set stored in each segment of the buffer memory 110, and addsthe calculated ECC to the data set. In addition, during the data readoperation, the error correction processor 145 performs error correctionon a data set stored in each segment of the buffer memory 110 by usingthe ECC added to the data set.

FIGS. 2A to 2C show an example of a configuration of a recording area ofthe tape medium 300 according to this embodiment. The tape medium 300has multiple bands 305 arranged to extend in the longitudinal directionof the tape medium 300 from the beginning of tape (BOT) to the end oftape (EOT) as shown FIG. 2A. In addition, servo tracks 310 are providedon both longitudinal sides of each of the multiple bands 305 to extendin the longitudinal direction. Each servo track 310 is used to control adata writing position or a data reading position.

As shown in FIG. 2B, each band 305 has multiple data tracks 315 arrangedto extend in the longitudinal direction of the tape medium 300. Eachdata track 315 includes multiple data sets 320 arranged side by side inthe longitudinal direction of the tape medium 300. As shown in FIG. 2C,each data set 320 includes: a user data set 325 transmitted from thehost device 200; and a DSIT 330 which is a management information piecefor the user data set 325. In addition, an ECC 335 calculated by theabove error correction processor 145 is also added to each data set 320according to this embodiment.

FIG. 3 shows an example of a functional configuration of the controller150 according to this embodiment. As described above, the controller 150according to this embodiment has a function of adjusting a transportspeed of the tape medium 300 in addition to typical functions of acontroller of a tape drive in order to reduce back hitches whilepreventing decrease in data transfer efficiency between the tape drive100 and the host device 200. The controller 150 having the function ofadjusting a transport speed of the tape medium 300 as described aboveincludes a transfer rate calculation unit 400, a mode selection unit405, a transport speed setting unit 410, a required time obtaining unit415, a threshold calculation unit 420, a monitoring unit 425, a speedadjustment unit 430, a storage 435 and a buffer 440.

The transfer rate calculation unit 400 calculates a first transfer ratewhich is a data transfer rate between the host device 200 and the tapedrive 100. For example, the transfer rate calculation unit 400 maycalculate v/t as a first transfer rate during the data write operationfrom a data volume v received by the communication interface 105 in atime span t. Alternatively, if the tape drive 100 compresses datareceived from the host device 200, the transfer rate calculation unit400 may calculate V/t as the first transfer rate during the data writeoperation from a compressed data volume V stored in the buffer memory110 in a time span t. Still alternatively, in this case, the transferrate calculation unit 400 may calculate v/C/t as the first transfer rateduring the data write operation by using a data volume v received by thecommunication interface 105 in a time span t, and a compression rate C.

Similarly, the transfer rate calculation unit 400 may calculate v/t as afirst transfer rate during the data read operation from a data volume vtransmitted by the communication interface 105 in a time span t, forexample. Alternatively, if the tape drive 100 decompresses data read outfrom the tape medium 300, the transfer rate calculation unit 400 maycalculate V/t as the first transfer rate during the data read operationfrom a data volume V transmitted to the compression/decompression unit140 from the buffer memory 110 in a time span t. Still alternatively, inthis case, the transfer rate calculation unit 400 may calculate v/C/t asthe first transfer rate during the data read operation by using a datavolume v transmitted by the communication interface 105 in a time spant, and the compression rate C. Each first transfer rate calculated bythe transfer rate calculation unit 400 is given to the mode selectionunit 405 to be described later.

The mode selection unit 405 selects, from adjustment modes of thetransport speed of the tape medium 300 consisting of a speed switch modeand a constant speed mode, an adjustment mode corresponding to thecalculated first transfer rate, by referring to a mode selection table436 in which such adjustment modes more effective in reducing backhitches are defined in accordance with first transfer rates. In thespeed switch mode, the transport speed of the tape medium 300 isswitched between a first transport speed and a second transport speed,while the transport speed of the tape medium 300 is fixed at the secondtransport speed in the constant speed mode. Here, the first transportspeed is the highest speed of one or more transport speeds at which thetransport unit 139 can be caused to operate under a condition that asecond transfer rate, which is a data transfer rate between the buffermemory 110 and the tape medium 300, is lower than the first transferrate. On the other hand, the second transport speed is one-level higherthan the first transport speed. Note that the second transport speed isalso the lowest speed of one or more transport speeds at which thetransport unit 139 can be caused to operate under a condition that thesecond transfer rate is higher than the first transfer rate. Togetherwith the first transfer rate calculated by the transfer rate calculationunit 400, the selection result of the mode selection unit 405 is givento the transport speed setting unit 410 to be described later, and, ifthe speed switch mode is selected, also given to the required timeobtaining unit 415. In addition, the selection result of the modeselection unit 405 is given to the monitoring unit 425, too.

Hereinbelow, by referring to FIGS. 4 and 5, it will be explained thatsuch an adjustment mode of the transport speed of the tape medium 300more effective in reducing back hitches varies with a change in thefirst transfer rate. FIGS. 4 and 5 each show the numbers of back hitchesin a certain time period in different transfer rates between the hostdevice 200 and the tape drive 100. In each of FIGS. 4 and 5, thehorizontal axis represents the first transfer rate, which is the datatransfer rate between the host device 200 and the tape drive 100 whilethe vertical axis represents the number of back hitches in a certaintime period (hereinbelow, simply referred to as the number of backhitches). In addition, in each of FIGS. 4 and 5, the dotted linerepresents data obtained when the tape drive 100 operates constantly inthe constant speed mode where the transport speed of the tape medium 300is fixed at the second transport speed. Meanwhile, the dashed-dottedline represents data obtained when the tape drive 100 operatesconstantly in the speed switch mode where the transport speed of thetape medium 300 is switched between the first and second transportspeeds at appropriate timings according to the result of monitoring thebuffer memory 110.

As is clear from FIG. 4, such an adjustment mode more effective inreducing back hitches varies between the constant speed mode and thespeed switch mode with a change in the first transfer rate. For example,while the first transfer rate is in a range from 31.2 MB/s to 34.8 MB/s,the number of back hitches is smaller in the speed switch mode. On theother hand, while the first transfer rate is in a range from 34.8 MB/sto 48 MB/s, the number of back hitches is smaller in the constant speedmode. Accordingly, the present invention employs a configuration forselecting such an adjustment mode more effective in reducing backhitches in accordance with the first transfer rate. In FIG. 4, the solidline represents data obtained when the tape drive 100 according to thepresent invention actually operates. By applying the present inventionto the tape drive 100, the number of back hitches required when thefirst transfer rate is 31.2 MB/s can be reduced to 0 from 27 that isrequired in the tape drive 100 caused to operate constantly in theconstant speed mode. In addition, by applying the present invention tothe tape drive 100, the peak value of the required number of backhitches in a first transfer rate range from 31.2 MB/s to 49 MB/s can bereduced to 22 from 27 that is required in the tape drive 100 caused tooperate constantly in the constant speed mode, and from 25 that isrequired in the tape drive 100 caused to operate constantly in the speedswitch mode. Note that, as is clear from FIG. 4, when the first transferrate is 49 MB/s or higher, the number of the back hitches is alwayssmaller in the constant speed mode.

FIG. 5 shows data obtained by using the tape drive 100 including thebuffer memory 110 with a larger capacity than the buffer memory 110 ofthe tape drive 100 used for obtaining the data shown in FIG. 4. As isclear from FIG. 5, such an adjustment mode more effective in reducingback hitches repeatedly varies between the constant speed mode and thespeed switch mode in a first transfer rate range from 30 MB/s to 160MB/s. However, by applying the present invention to the tape drive 100,each of the peak values of the number of back hitches observed in afirst transfer rate range from 30 MB/s to 110 MB/s can be approximatelyhalved. As described above, though back hitches can be reduced byapplying the present invention to the tape drive 100, the magnitude ofthe effect of this application also depends on the capacity of thebuffer memory 110 included in the tape drive 100.

Note that at least one mode selection table 436 to which the modeselection unit 405 refers is previously stored in the storage 435 to bedescribed later. Then, description will hereinbelow be given of a methodfor creating the mode selection table 436 to be stored in the storage435. As described above, in the mode selection table 436, suchadjustment modes more effective in reducing back hitches selected fromthe constant speed mode and the speed switch mode are defined inaccordance with first transfer rates. FIG. 6A shows an example of themode selection table 436. In the mode selection table 436 shown in FIG.6A, an adjustment mode to be selected is associated with each range ofthe first transfer rate. To take the data shown in FIG. 4 as an example,the first transfer rate of 31.2 MB/s or higher but lower than 34.8 MB/sis associated with the speed switch mode while the first transfer rateof 34.8 MB/s or higher but lower than 48 MB/s is associated with theconstant speed mode. Alternatively, the mode selection table 436 maylist ranges of the first transfer rate at which the speed switch mode(or the constant speed mode) is to be selected.

Regardless of the type of the mode selection table 436, in order tocreate the mode selection table 436, it is necessary to obtain the firsttransfer rate at each exact time when such an adjustment mode moreeffective in reducing back hitches varies between the constant speedmode and the speed switch mode. Such first transfer rate values are:first transfer rate values C1, C2, . . . , at the intersections of thedotted line and the dashed-dotted line in each of FIGS. 4 and 5; andfirst transfer rate values E1, E2, . . . , at the points where thenumber of back hitches is 0. Once the first transfer rate values C1, C2,. . . , and E1, E2, . . . , are obtained, the mode selection table 436can be created by associating the first transfer rate in each range witheither adjustment mode as follows. Specifically, for example, the firsttransfer rate of the first transfer rate value C1 or higher but lowerthan the first transfer rate value E1 is associated with the constantspeed mode, the first transfer rate of the first transfer rate value E1or higher but lower than the first transfer rate value C2 is associatedwith the speed switch mode, and so forth for all remaining ranges.

Hence, how to obtain the first transfer rate values C1, C2, . . . , willbe considered below. To begin with, it is assumed that the firsttransfer rate is V1, the second transfer rate corresponding to the firsttransport speed Vc is V2(Vc), the second transfer rate corresponding tothe second transport speed Vn is V2(Vn), the capacity of the buffermemory 110 is Vb, the capacity of each data track 315 is Vt, and thedata volume read out from or written in the buffer memory 110 during anoperation of switching the transport speed of the tape medium 300 is Va.Note that the first transfer rate V1 is assumed to be constant duringthe data write and read operations.

Firstly, the number of back hitches in the constant speed mode iscalculated. To take the data read operation as an example, if the buffermemory 110 becomes full while the transport unit 139 in the constantspeed mode is transporting the tape medium 300 at the second transportspeed Vn, the transport unit 139 stops the tape medium 300 and waits forthe buffer memory 110 to empty while stopping the tape medium 300. Thus,in the constant speed mode, one back hitch attributable to pause in thetransportation of the tape medium 300 occurs per a cycle time, that is,the total time of: a time Vb/(V2(Vn)−V1) taken for the empty buffermemory 110 to be filled to its capacity; and a time Vb/V1 taken for thefull buffer memory 110 to empty. Thus, the number X of back hitches inthe constant speed mode occurring per a time Vt/V1 required to read outdata sets from each data track 315 is obtained from the followingequation:X=(Vt/V1)/(Vb/(V2(Vn)−V1)+Vb/V1)  (1).

Next, the number of back hitches in the speed switch mode is calculated.To take the data read operation as an example similarly to the above, ifthe buffer memory 110 becomes full while the transport unit 139 in thespeed switch mode is transporting the tape medium 300 at the secondtransport speed Vn, the transport unit 139 switches the transport speedof the tape medium 300 to the first transport speed Vc. Then, thetransport unit 139 transporting the tape medium 300 at the firsttransport speed Vc switches the transport speed of the tape medium 300to the second transport speed Vn immediately before the buffer memory110 becomes full, in other words, if an available capacity of the buffermemory 110 becomes Vb−Va. Thus, in the speed switch mode, two backhitches attributable to switch of the transport speed of the tape medium300 occur per a cycle time, that is, the total time of: a timeVb/(V2(Vn)−V1) taken for the empty buffer memory 110 to be filled to itscapacity; and a time (Vb−Va)/(V1−V2(Vc)) taken for the full buffermemory 110 to become almost empty. Thus, the number X of back hitches inthe speed switch mode occurring per a time Vt/V1 required to read outdata sets from each data track 315 is obtained from the followingequation:X=2*(Vt/V1)/(Vb/(V2(Vn)−V1)+(Vb−Va)/(V1−V2(Vc)))  (2).

Note that the tape drive 100 according to the present invention switchesthe transport speed from the first transport speed Vc to the secondtransport speed Vn at the timing when a data volume stored in the buffermemory 110 becomes the data volume Va. Here, Va is the data volume to beread out from the buffer memory 110 during an operation of switching thetransport speed, as described above. This allows the tape drive 100according to the present invention to prevent decrease in data transferefficiency between the tape drive 100 and the host device 200. It isquite apparent that the data volume Va is proportional to the firsttransfer rate. The method for calculating the data volume Va will bedescribed in detail later.

The final values to be obtained here, that is, the first transfer ratevalues C1, C2, . . . , at the exact times when such an adjustment modemore effective in reducing back hitches varies between the two modes,are determined by the equality of the right-hand sides of the respectiveabove equations (1) and (2). Incidentally, if the transport unit 139 canbe caused to operate at such a transport speed that equalizes the firstand second transfer rates, no back hitch occurs in the tape drive 100.Accordingly, the other first transfer rate values E1, E2, . . . , can bedetermined as follows. In the speed switch mode, the number of backhitches becomes 0 when the first transfer rate V1 becomes equal toeither the second transfer rate V2(Vc) corresponding to the firsttransport speed Vc or the second transfer rate V2(Vn) corresponding tothe second transport speed Vn. On the other hand, in the constant speedmode, the number of back hitches gets closer to 0 as the first transferrate V1 gets closer to the second transfer rate V2(Vn) corresponding tothe second transport speed Vn.

Incidentally, the above equations (1) and (2) for the number X of backhitches hold under the assumption that the first transfer rate V1 isconstant during the data write and read operations. Hence, how to obtainthe number X of back hitches when the first transfer rate V1 is notconstant during the data write and read operations will be consideredbelow. Firstly, suppose the case where the first transfer rate V1changes at a uniform rate from the first transfer rate V1_1 at thebeginning of each data track 315 to the first transfer rate V1_2 at theend of the data track 315. In this case, a time T required to read outdata sets from each data track 315 is Vt/((V1_1+V1_2)/2). Thus, V1 isregarded as a function V1(t) of a time t in the above equations (1) and(2), and then the integrals of the above entire equations (1) and (2)are calculated over the interval of the time t from 0 to T, which isdefined as above. As a result, the number X of back hitches in the casewhere the first transfer rate V1 changes at a uniform rate during thedata write and read operations is obtained. After that, with similarprocedures as used when the first transfer rate V1 is assumed to beconstant during the data write and read operations, the first transferrate values at the exact times when such an adjustment mode moreeffective in reducing back hitches varies between the two modes can beobtained.

As long as the first transfer rate V1 changes at a uniform rate, itmakes no difference whether the first transfer rate V1 changes graduallyor rapidly. However, if the first and second transport speeds Vc and Vnchange with a change in the first transfer rate V1, it is necessary toregard Vc and Vn as functions Vc(t) and Vn(t) of a time t, respectively,and then to calculate the integrals of the above entire equations (1)and (2) over the interval of the time t from 0 to T. For example, assumethe case where the first transfer rate V1 becomes higher than the secondtransfer rate V2(Vn) at a time point tx. In this case, the integrals ofthe above equations (1) and (2) are calculated where Vn(t) returns thesecond transport speed Vn, which is a value before change, in 0≦t<tx,and where Vn(t) returns a transport speed one-level higher than thesecond transport speed Vn in tx≦t<T.

If the first transfer rate V1 increases and reduces in a certain rangeduring the data write and read operations as well, the first transferrate values at the exact times when such an adjustment mode moreeffective in reducing back hitches varies between the two modes can beobtained with similar procedures as used when the first transfer rate V1is assumed to be constant. Note, however, that a time T required to readout data sets from each data track 315 is Vt/V1 in this case.

As described above, the mode selection table 436 can be createdirrespective of whether or not the first transfer rate V1 is constant.In the tape drive 100 supporting the case where the first transfer rateV1 is not constant, the storage 435 stores therein the mode selectiontables 436 for the respective cases where the first transfer rate V1 isconstant, where the first transfer rate V1 changes at a uniform rate,and where the first transfer rate V1 changes in a certain range, duringthe data write and read operations. Meanwhile, the transfer ratecalculation unit 400 periodically calculates the first transfer rate V1,and estimates, from the history thereof, how the first transfer rate V1will change thereafter. Upon receipt of the estimate result from thetransfer rate calculation unit 400, the mode selection unit 405 selectsan appropriate mode selection table 436 on the basis of the estimateresult, and thereafter selects an adjustment mode corresponding to thecalculated first transfer rate by referring to the selected modeselection table 436.

The storage 435 is implemented by the ROM 156 shown in FIG. 1, andpreviously stores therein an association table 437 and a required timetable 438 in addition to at least one mode selection table 436. In theassociation table 437, each of the multilevel transport speeds at whichthe transport unit 139 can be caused to operate is associated with asecond transfer rate to be selected when the transport unit 139 iscaused to operate at the transport speed (see FIG. 6B). In the tapedrive 100, data is written in or read out from the tape medium 300 bycausing relative movement between the read/write head 120 and the tapemedium 300. Accordingly, the second transfer rate is proportional to thetransport speed of the tape medium 300, and thus can be adjusted throughadjustment of the transport speed of the tape medium 300.

Note that, during the data write operation, the controller 150 accordingto this embodiment also functions as a management information addingunit to create a DSIT 330 for a data set stored in each segment of thebuffer memory 110, as has been described previously. In addition, thetape drive 110 according to this embodiment includes the errorcorrection processor 145 which adds an ECC 335 to a data set stored ineach segment of the buffer memory 110, during the data write operation.Here, the ECC 335 is an error correction information piece, as describedabove. Similarly, during the data read operation, the error correctionprocessor 145 performs error correction on a data set stored in eachsegment of the buffer memory 110 by using the ECC 335 added to the dataset.

Accordingly, as a second transfer rate to be registered in theassociation table 437, V/t may be calculated from a data volume Vfirstly processed by both the controller 150 functioning as themanagement information adding unit and the error correction processor145 and then transmitted from the buffer memory 110 to the tape medium300 in a time span t. Similarly, as another second transfer rate to beregistered in the association table 437, V/t may be calculated from adata volume V firstly read out from the tape medium 300 into the buffermemory 110 and then processed by the error correction processor 145 in atime span t. Employment of these second transfer rates helps the speedadjustment unit 430 to more accurately adjust the transport speed of thetape medium 300 as to be described later. Note, however, that there isno problem to ignore a time required for the error correction since theerror correction is executed by hardware. By contrast, the managementinformation addition is executed using a microcode and requires acertain time. However, a series of processes during the data write orread operation including the data compression/decompression, the errorcorrection and the management information addition are performed inparallel by pipelining, for each data set. Accordingly, none of theseprocesses will be a bottleneck, and thus there is no problem to ignore atime required for the processes.

In the required time table 438, a time required to switch from a firsttransport speed to a second transport speed is associated with the firstand second transport speeds (see FIG. 6C). Here, the second transportspeed is one-level higher than the first transport speed, as describedabove. The time required for such a transport speed switch includes: atime required to pause the transportation of the tape medium 300; a timerequired to rewind the tape medium 300 for the positioning of theread/write head 120; and a time required to set the transport directionof the tape medium 300 back to the normal transport direction and toswitch from a first transport speed to a second transport speed.

Hereinbelow, specific description will be given of a method forcalculating a required time to be stored in the required time table 438with reference to FIG. 7. FIG. 7 shows a travel path of the read/writehead 120 on the tape medium 300 obtained while the transport speed ofthe tape medium 300 is shifted from the first transport speed Vc to thesecond transport speed Vn, which is one-level higher than the transportspeed Vc. The arrow (1) represents a travel path obtained from when thetape medium 300 transported at the transport speed Vc starts todecelerate until when it pauses. A time t1 required for the travelrepresented by the arrow (1) is Vc/A, where an acceleration rate is A.The arrow (2) represents a travel path obtained from when the tapemedium 300 gets transported backward (in a direction opposite to thenormal transport direction) so as to be rewound after being stoppeduntil when the transport speed of the tape medium 300 reaches a speedVb. A time t2 required for the travel represented by the arrow (2) isVb/A, where an acceleration rate is A. The arrow (3) represents a travelpath obtained from when the tape medium 300 gets transported back at thespeed Vb until when the read/write head 120 returns to a decelerationstart position P. A time t3 required for the travel represented by thearrow (3) is {(Vc/2)*(Vc/A)−(Vb/2)*(Vb/A)}/Vb, where an accelerationrate is A.

The arrow (4) represents a travel path obtained while the tape medium300 is transported back in the speed Vb so as to be rewound by a lengthrequired for an adjustment that allows the read/write head 120 to reacha write or read start position Q after the transportation of the tapemedium 300 gets stabilized at the target transport speed Vn. A timerequired for the travel represented by the arrow (4) is assumed to bet4. Note that the read start position Q is always located before thedeceleration start position P. This is because there is a time lag fromwhen the tape medium 300 is determined to need to decelerate to when thetape medium 300 actually starts to decelerate, and because data startsto be read out at either a position where the read/write head 120 existswhen the tape medium 300 is determined to need to decelerate, or aposition slightly before the position. On the other hand, the writestart position Q is not always located before the deceleration startposition P. This is because, though there is a time lag till when thetape medium 300 actually starts to decelerate also during the data writeoperation, data starts to be written in at a position slightly after aposition where the read/write head 120 exists when the tape medium 300is determined to need to decelerate. Note that a definite tendency ofthe position where data starts to be written can be found from observedvalues.

The arrow (5) represents a travel path obtained from when the tapemedium 300 having been transported back at the speed Vb starts todecelerate to be stopped to when the transport speed of the tape medium300 becomes the speed Vn in the normal transport direction. A time t5required for the travel represented by the arrow (5) is Vn/A+Vb/A, wherean acceleration rate is A. The arrow (6) represents a travel pathobtained from when the tape medium 300 gets transported at the transportspeed Vn until when the transportation of the tape medium 300 getsstabilized at the target transport speed Vn. A time required for thetravel represented by the arrow (6) is assumed to be t6.

With t1 to t6 determined above, a required time Tr is finally obtainedfrom the following equation:Tr=Vc/A+Vb/A+{(Vc/2)*(Vc/A)−(Vb/2)*(Vb/A)}/Vb+t4+Vn/A+Vb/A+t6. Note thatthe absolute value of each acceleration rate A at which the tape medium300 decelerates or accelerates is constant. In the tape drive 100according to this embodiment, the acceleration rate A is defined andused within an available range based on: a torque the motor 135 includedin the hardware can generate; the weight of the tape medium 300; and theradius thereof. Meanwhile, the time t6 is defined as such a constantvalue required for stable operation of the tape drive 100. Specifically,t6 is defined in consideration of a time from when the tape medium 300starts to be transported at a constant speed until when the positioningof the read/write head 120 is completed by using sufficient informationobtained from the corresponding servo tracks. In this embodiment, theacceleration rate A and the speed t6 is previously stored in the storage435.

On the other hand, the time t4 can be expressed using Vb by the equalityof: the sum of the length of the path represented by the arrow (4) andthe length of the distance moved in the backward direction of the pathrepresented by the arrow (5); and the sum of a length s equivalent tothe difference between the deceleration start position P and the writeor read start position Q, a length of the distance moved in the forwarddirection of the path represented by the arrow (5) and a length of thepath represented by the arrow (6) (where the acceleration rate A and thetime t6 are assumed to be given values since they are previouslydetermined as described above). Meanwhile, Vb can be determined as sucha value that minimizes the right-hand side of the above equation for therequired time Tr so as to reduce the time required for each back hitch.Since t4 can be expressed using Vb, if Vb is determined, t4 isdetermined, too. As described above, for each pair of first and secondtransport speeds at which the transport unit 139 can be caused tooperate, a time required to switch from the first transport speed to thesecond transport speed is previously calculated, and the calculatedrequired times are previously stored in the form of the required timetable 438 in the storage 435.

If the mode selection unit 405 selects the speed switch mode, thetransport speed setting unit 410 selects a predetermined transport speedof the tape medium 300 from multiple transport speeds at which thetransport unit 139 can be caused to operate, and causes the transportunit 139 to operate at the selected transport speed, at the beginning ofeach of the data write and read operations. Here, the predeterminedtransport speed to be employed at the beginning of a data writeoperation is the first transport speed while the predetermined transportspeed to be employed at the beginning of a data read operation is thesecond transport speed. On the other hand, if the mode selection unit405 selects the constant speed mode, the transport speed setting unit410 causes the transport unit 139 to operate at the second transportspeed at the beginning of each of the data write and read operations.Upon receiving the adjustment mode selection result and the firsttransfer rate value from the mode selection unit 405, the transportspeed setting unit 410 selects one from the predetermined transportspeeds described above by, for example, determining the current firstand second transport speeds 441 corresponding to the received firsttransfer rate value with reference to the association table 437. Notethat the transport speed setting unit 410 stores the current first andsecond transport speeds 441 determined as above into the buffer 440which is implemented by the RAM 154 shown in FIG. 1.

If the mode selection unit 405 selects the speed switch mode, therequired time obtaining unit 415 obtains, from the required time table438, a time required to switch the transport speed of the tape medium300 from the current first transport speed to the current secondtransport speed, which is one-level higher than the current firsttransport speed, in response to this selection. Note that the requiredtime obtaining unit 415 obtains the current first and second transportspeeds 441 from the buffer 440. Together with the first transfer ratevalue the required time obtaining unit 415 has received from the modeselection unit 405, the required time obtained by the required timeobtaining unit 415 is given to the threshold calculation unit 420 to bedescribed below.

During the data write operation, the threshold calculation unit 420calculates, from the first transfer rate and the required time receivedfrom the required time obtaining unit 415, a data volume expected to bereceived from the host device 200 during the switch of the transportspeed of the tape medium 300, as a first threshold. Specifically, thethreshold calculation unit 420 calculates the product of the firsttransfer rate and the required time as the first threshold. Similarly,during the data read operation, the threshold calculation unit 420calculates, as a second threshold, a data volume expected to betransmitted to the host device 200 during the switch of the transportspeed, from the first transfer rate and the required time received fromthe required time obtaining unit 415. Specifically, the thresholdcalculation unit 420 calculates the product of the first transfer rateand the required time as the second threshold. The first and secondthresholds calculated by the threshold calculation unit 420 are given tothe monitoring unit 425 to be described below.

The monitoring unit 425 in the speed switch mode monitors an availabledata storage capacity of the buffer memory 110, and outputs a firstswitch notice if the available data storage capacity reaches the firstthreshold received from the threshold calculation unit 420 while data iswritten at the first transport speed. In addition, the monitoring unit425 in the speed switch mode also outputs a second switch notice if theavailable data storage capacity of the buffer memory 110 reaches theinitial capacity of the buffer memory 110 while data is written at thesecond transport speed.

Similarly, the monitoring unit 425 in the speed switch mode monitors adata volume stored in the buffer memory 110, and outputs the firstswitch notice if the data volume reaches the second threshold receivedfrom the threshold calculation unit 420 while data is read out at thefirst transport speed. In addition, the monitoring unit 425 in the speedswitch mode also outputs the second switch notice if the data volumestored in the buffer memory 110 reaches the initial capacity of thebuffer memory 110 while data is read out at the second transport speed.

Meanwhile, the monitoring unit 425 in the constant speed mode outputs athird switch notice if the available data storage capacity of the buffermemory 110 reaches the initial capacity of the buffer memory 110 whiledata is written at the second transport speed. In addition, themonitoring unit 425 in the constant speed mode also outputs a fourthswitch notice if a data volume stored in the buffer memory 110 reachesthe initial capacity of the buffer memory 110.

Similarly, the monitoring unit 425 in the constant speed mode outputsthe third switch notice if a data volume stored in the buffer memory 110reaches the initial capacity of the buffer memory 110 while data is readout at the second transport speed. In addition, the monitoring unit 425in the constant speed mode also outputs the fourth switch notice if anavailable data storage capacity of the buffer memory 110 reaches theinitial capacity of the buffer memory 110.

In response to the first switch notice during the data write and readoperations, the speed adjustment unit 430 stops the movement of theread/write head 140 and causes the transport unit 139 to operate at thesecond transport speed. In addition, in response to the second switchnotice during the data write and read operations, the speed adjustmentunit 430 stops the movement of the read/write head 140 and causes thetransport unit 139 to operate at the first transport speed. Moreover, inresponse to the third switch notice during the data write and readoperations, the speed adjustment unit 430 stops the movement of theread/write head 140. In addition, in response to the fourth switchnotice during the data write and read operations, the speed adjustmentunit 430 causes the transport unit 139 to operate at the secondtransport speed. Note that the speed adjustment unit 430 obtains thecurrent first and second transport speeds from the buffer 440.

FIGS. 8A and 8B each show a state of the buffer memory 110 at a timingwhen the speed adjustment unit 430 starts to switch the transport speedof the tape medium 300 during the data write operation in the speedswitch mode. In each of FIGS. 8A and 8B, a rectangle represents thestorage capacity of the buffer memory 110, and a shaded area representsan available capacity of the buffer memory 110 and thus includes no dataat that time. As described previously, when the tape drive 100 in thespeed switch mode starts to write data into the tape medium 300, thetape drive 100 is caused to operate at the first transport speed thatmakes the transfer rate to the tape medium 300 lower than the transferrate from the host device 200. Thus, in an earlier phase of this datawrite operation, data transmitted from the host device 200 isaccumulated in the buffer memory 110. Then, the speed adjustment unit430 switches the transport speed to the second transport speed, which isone-level higher than the first transport speed, at a timing when theavailable capacity of the buffer memory 110 becomes equivalent to a datavolume expected to be received from the host device 200 during theswitch of the transport speed, as shown in FIG. 8A.

Here, the one-level higher second transport speed makes the transferrate to the tape medium 300 higher than the transfer rate from the hostdevice 200, as described previously. Thus, after the transport speed ofthe tape medium 300 is switched to the second transport speed, the dataaccumulated in the buffer memory 110 is reduced by being written intothe tape medium 300. Then, the speed adjustment unit 430 switches thetransport speed to the first transport speed, which is one-level lowerthan the second transport speed, at a timing when the available capacityof the buffer memory 110 reaches the initial capacity of the buffermemory 110, as shown in FIG. 8B. In this way, in the speed switch mode,the tape drive 100 according to the present invention repeatedlyswitches the transport speed of the tape medium 300 between the firstand second transport speeds, and thereby prevents decrease in datatransfer efficiency between the tape drive 100 and the host device 200.

FIGS. 9A and 9B each show a state of the buffer memory 110 at a timingwhen the speed adjustment unit 430 starts to switch the transport speedof the tape medium 300 during the data read operation in the speedswitch mode. In each of FIGS. 9A and 9B, a rectangle represents thestorage capacity of the buffer memory 110, and a shaded area representsan available capacity of the buffer memory 110 and thus includes no dataat that time. As described previously, when the tape drive 100 in thespeed switch mode starts to read data from the tape medium 300, the tapedrive 100 is caused to operate at the second transport speed that makesthe transfer rate from the tape medium 300 higher than the transfer rateto the host device 200. Thus, in an earlier phase of this data readoperation, data read out from the tape medium 300 is accumulated in thebuffer memory 110. Then, the speed adjustment unit 430 switches thetransport speed to the first transport speed, which is one-level lowerthan the second transport speed, at a timing when the data volume storedin the buffer memory 110 reaches the initial capacity of the buffermemory 110, as shown in FIG. 9A.

Here, the one-level lower first transport speed makes the transfer ratefrom the tape medium 300 lower than the transfer rate to the host device200, as described previously. Thus, after the transport speed of thetape medium 300 is switched to the first transport speed, the dataaccumulated in the buffer memory 110 is reduced by being transmitted tothe host device 200. Then, the speed adjustment unit 430 switches thetransport speed to the second transport speed, which is one-level higherthan the first transport speed, at a timing when the data volume storedin the buffer memory 110 becomes equivalent to the data volume expectedto be transmitted to the host device 200 during the switch of thetransport speed, as shown in FIG. 9B. In this way, in the speed switchmode, the tape drive 100 according to the present invention repeatedlyswitches the transport speed of the tape medium 300 between the firstand second transport speeds, and thereby prevents decrease in datatransfer efficiency between the tape drive 100 and the host device 200.

Next, description will be given of an operation that the tape drive 100according to this embodiment performs to adjust the transport speed ofthe tape medium 300 with reference to flowcharts shown in FIGS. 10 and11. FIG. 10 shows an example of a processing flow in which the tapedrive 100 adjusts the transport speed during the data write operation.In FIG. 10, the process starts at a step of starting the data writeoperation, and the tape drive 100 then calculates the data transfer ratefrom the host device 200, that is, the first transfer rate (step 700).Thereafter, the tape drive 100 determines which adjustment modes of thetransport speed of the tape medium 300 to employ (step 705), anddetermines whether or not the determined mode in step 705 is the speedswitch mode, in step 710.

When determining that the determined mode in step 705 is the constantspeed mode (step 710: NO), the tape drive 100 adjusts the transportspeed of the tape medium 300 according to the conventional constantspeed mode (step 715). Specifically, when transporting the tape medium300, the tape drive 100 constantly transports it at the second transportspeed. Then, if the buffer memory 110 empties, the tape drive 100 stopsthe tape medium 300 until the buffer memory 110 becomes filled withdata. Here, the second transport speed is the lowest speed of one ormore transport speeds at which the tape drive 100 can be caused tooperate under a condition that the second transfer rate is higher thanthe first transfer rate, as described above. The tape drive 100 repeatsthese transport speed adjustment steps until this data write operationis completed. On the other hand, when determining that the determinedmode in step 705 is the speed switch mode (step 710: YES), the tapedrive 100 transports the tape medium 300 at the first transport speed(step 720). Here, the first transport speed is the highest speed of oneor more transport speeds at which the tape drive 100 can be caused tooperate under a condition that the second transfer rate is lower thanthe first transfer rate.

Then, the tape drive 100 obtains a time required to switch the transportspeed of the tape medium 300 from the current transport speed, that is,the first transport speed, to the second transport speed, which isone-level higher than the first transport speed (step 725). Thereafter,based on the first transfer rate and the obtained required time, thetape drive 100 calculates, as a threshold, a data volume expected to bereceived from the host device 200 while the transport speed is switchedfrom the first transport speed to the second transport speed (step 730).

While writing data into the tape medium 300 at the first transportspeed, the tape drive 100 monitors an available data storage capacity ofthe buffer memory 110 in parallel (step 735). Then, the tape drive 100determines whether or not the available capacity reaches the threshold(step 740). If the available capacity does not reach the threshold (step740: NO), the process returns to step 735, and the tape drive 100continues to monitor the buffer memory 110.

On the other hand, if the available capacity reaches the threshold instep 740, the tape drive 100 switches the transport speed of the tapemedium 300 to the second transport speed which is one-level higher thanthe current transport speed (step 745). After the transport speed isswitched, the tape drive 100 continues to monitor the buffer memory 110(step 750), and determines whether or not the available capacity reachesthe initial capacity of the buffer memory 110 (step 755).

If the available capacity does not reach the initial capacity of thebuffer memory 110 (step 755: NO), the process returns to step 750, andthe tape drive 100 continues to monitor the buffer memory 110. On theother hand, if the available capacity reaches the initial capacity ofthe buffer memory 110 (step 755: YES), the tape drive 100 switches thetransport speed of the tape medium 300 to the first transport speed,which is one-level lower than the current transport speed (step 760).Then, the process returns to step 735, and the tape drive 100 repeatssteps 735 to 760 until this data write operation is completed.

FIG. 11 shows an example of a processing flow in which the tape drive100 adjusts the transport speed of the tape medium 300 during the readwrite operation. In FIG. 11, the process starts at a step of startingthe data read operation, and the tape drive 100 then calculates the datatransfer rate to the host device 200, that is, the first transfer rate(step 800). Thereafter, the tape drive 100 determines which adjustmentmodes of the transport speed of the tape medium 300 to employ (step805), and determines whether or not the determined mode in step 805 isthe speed switch mode, in step 810.

When determining that the determined mode in step 805 is the constantspeed mode (step 810: NO), the tape drive 100 adjusts the transportspeed of the tape medium 300 according to the conventional constantspeed mode (step 815). Specifically, when transporting the tape medium300, the tape drive 100 constantly transports it at the second transportspeed. Then, if the buffer memory 110 becomes filled with data, the tapedrive 100 stops the tape medium 300 until the buffer memory 110 empties.Here, the second transport speed is the lowest speed of one or moretransport speeds at which the tape drive 100 can be caused to operateunder a condition that the second transfer rate is higher than the firsttransfer rate, as described above. The tape drive 100 repeats thesetransport speed adjustment steps until this data read operation iscompleted. On the other hand, when determining that the determined modein step 805 is the speed switch mode (step 810: YES), the tape drive 100transports the tape medium 300 at the second transport speed (step 820).Here, the second transport speed is the lowest speed of one or moretransport speeds at which the tape drive 100 can be caused to operateunder a condition that the second transfer rate is higher than the firsttransfer rate.

Then, the tape drive 100 obtains a time required to switch the transportspeed of the tape medium 300 from the current transport speed, that is,the second transport speed, to the first transport speed, which isone-level lower than the second transport speed (step 825). Thereafter,based on the first transfer rate and the obtained required time, thetape drive 100 calculates, as a threshold, a data volume expected to betransmitted to the host device 200 while the transport speed is switchedfrom the second transport speed to the first transport speed (step 830).

While reading out data from the tape medium 300 at the second transportspeed, the tape drive 100 monitors a data volume occupying the buffermemory 110 in parallel (step 835). Then, the tape drive 100 determineswhether or not the occupying data volume reaches the initial capacity ofthe buffer memory 110 (step 840). If the occupying data volume does notreach the buffer memory 110 (step 840: NO), the process returns to step835, and the tape drive 100 continues to monitor the buffer memory 110.

On the other hand, if the occupying data volume reaches the initialcapacity of the buffer memory 110 in step 840, the tape drive 100switches the transport speed of the tape medium 300 to the firsttransport speed which is one-level lower than the current transportspeed (step 845). After the transport speed is switched, the tape drive100 continues to monitor the buffer memory 110 (step 850), anddetermines whether or not the occupying data volume reaches thethreshold (step 855).

If the occupying data volume does not reach the threshold (step 855:NO), the process returns to step 850, and the tape drive 100 continuesto monitor the buffer memory 110. On the other hand, if the availablecapacity reaches the threshold (step 855: YES), the tape drive 100switches the transport speed of the tape medium 300 to the secondtransport speed which is one-level higher than the current transportspeed (step 860). Then, the process returns to step 835, and the tapedrive 100 repeats steps 835 to 860 until this data read operation iscompleted.

Hereinabove, the present invention has been described by using theembodiment, but the technical scope of the present invention is notlimited to what is described in the above embodiment. For example, thetape drive 100 to which the present invention is applied may beconfigured: to encrypt data transmitted from the host device 200 andwrite the encrypted data into the tape medium 300; and to decrypt dataread out from the tape medium 300 and transmit the decrypted data to thehost device 200. In this case, V/t may be calculated as the firsttransfer rate during the data write operation from an encrypted datavolume V stored in the buffer memory 110 in a time span t. Similarly,V/t may be calculated as the first transfer rate during the data readoperation from a decrypted data volume V read out from the buffer memory110 in a time span t. Note that there is no problem to ignore a timerequired for this data encryption/decryption since the dataencryption/decryption is executed by hardware as similar to the datacompression/decompression and the error correction. It will be apparentto those skilled in the art that the above embodiment can be modifiedand improved in various ways as described above. Thus, as a matter ofcourse, such other modified or improved embodiments are also included inthe technical scope of the present invention.

What is claimed is:
 1. A transport speed adjustment method to beemployed in a tape drive capable of switching a transport speed of atape medium among multilevel speeds, the method comprising the steps of:receiving data from a host device through a network; temporarily storingthe received data in a buffer memory; transporting the tape medium in alongitudinal direction thereof; writing the data in the buffer memoryinto a track formed to extend in a transport direction of the tapemedium; calculating a first transfer rate, which is a data transfer ratebetween the host device and the tape drive; selecting, from adjustmentmodes consisting of a speed switch mode and a constant speed mode, anadjustment mode corresponding to the calculated first transfer rate, byreferring to a mode selection table in which such an adjustment modemore effective in reducing back hitches is defined in accordance withthe first transfer rate, the transport speed being switched between afirst transport speed and a second transport speed in the speed switchmode, the transport speed being fixed at the second transport speed inthe constant speed mode, the first transport speed being a highest speedof one or more transport speeds at which the tape drive can be caused tooperate under a condition that a second transfer rate, which is a datatransfer rate between the buffer memory and the tape medium, is lowerthan the first transfer rate, the second transport speed being one-levelhigher than the first transport speed; causing the tape drive to operateat the first transport speed at a beginning of data writing, in responseto selection of the speed switch mode; obtaining a time required toswitch the transport speed of the tape medium from the first transportspeed to the second transport speed, in response to the selection of thespeed switch mode; calculating, from the first transfer rate and therequired time, a data volume expected to be received from the hostdevice during switch of the transport speed, as a threshold; monitoringwhether or not an available data storage capacity of the buffer memoryreaches the threshold while data is written at the first transport speedin the speed switch mode; and stopping writing the data and switchingthe transport speed of the tape medium to the second transport speed, inresponse to a monitoring result that the available capacity reaches thethreshold.
 2. The method according to claim 1, further comprising:compressing the received data before the data is stored in the buffermemory, wherein calculating includes calculating V/T as the firsttransfer rate, from a data volume V stored in the buffer memory in atime span T.
 3. The method according to claim 1, wherein the monitoringincludes monitoring an available data storage capacity of the buffermemory while data is written at the second transport speed in the speedswitch mode, and outputting a switch notice if the available capacityreaches an initial capacity of the buffer memory.
 4. The methodaccording to claim 1, wherein the required time includes: a timerequired to pause transportation of the tape medium; a time required torewind the tape medium for positioning; and a time required to set thetransport direction of the tape medium back to a normal transportdirection and to switch the transport speed from the first transportspeed to the second transport speed.
 5. The method according to claim 1,further comprising: storing in a storage a table in which each of themultilevel speeds is associated with the second transfer rate, thesecond transfer rate being selected when the tape drive is caused tooperate at the transport speed, and determining a transport speed atwhich the transport medium is caused to operate, by referring to thetable.
 6. The method according to claim 5, further comprising: addingmanagement information to the data stored in the buffer memory, themanagement information being used for managing the data; and addingerror correction information to the data stored in the buffer memory,the error correction information being used for performing errorcorrection on the data, wherein as the second transfer rate, V/T iscalculated from a data volume V firstly processed by adding themanagement information and the correction information and thentransmitting to the tape medium in a time span T.
 7. A transport speedadjustment method to be employed in a tape drive capable of switching atransport speed of a tape medium among multilevel speeds, the methodcomprising the steps of: transporting the tape medium in a longitudinaldirection thereof; reading out data recorded in a track formed to extendin a transport direction of the tape medium; temporarily storing theread out data in a buffer memory; transmitting the data in the buffermemory to a host device through a network; calculating a first transferrate which is a data transfer rate between the host device and the tapedrive; selecting, from adjustment modes consisting of a speed switchmode and a constant speed mode, an adjustment mode corresponding to thecalculated first transfer rate, by referring to a mode selection tablein which such an adjustment mode more effective in reducing back hitchesis defined in accordance with the first transfer rate, the transportspeed being switched between a first transport speed and a secondtransport speed in the speed switch mode, the transport speed beingfixed at the second transport speed in the constant speed mode, thefirst transport speed being a highest speed of one or more transportspeeds at which the tape drive can be caused to operate under acondition that a second transfer rate, which is a data transfer ratebetween the buffer memory and the tape medium, is lower than the firsttransfer rate, the second transport speed being one-level higher thanthe first transport speed; obtaining a time required to switch thetransport speed of the tape medium from the first transport speed to thesecond transport speed, in response to the selection of the speed switchmode; calculating, from the first transfer rate and the required time, adata volume expected to be transmitted to the host device during switchof the transport speed, as a threshold; monitoring whether or not a datavolume stored in the buffer memory reaches the threshold while data isread out at the first transport speed in the speed switch mode; andstopping reading out the data and switching the transport speed of thetape medium to the second transport speed, in response to monitoringresult that the data volume reaches the threshold.
 8. The methodaccording to claim 7, further comprising: decompressing the data readout from the buffer memory before the data is transmitted to the hostdevice; recording the decompressed data in the tape medium; andcalculating V/T as the first transfer rate, from a data volume Vforwarded from the buffer memory in a time span T.
 9. The methodaccording to claim 7, wherein the required time includes: a timerequired to pause transportation of the tape medium; a time required torewind the tape medium for positioning; and a time required to set thetransport direction of the tape medium back to a normal transportdirection and to switch the transport speed from the first transportspeed to the second transport speed.
 10. The method according to claim7, further comprising: operating at the second transport speed at thebeginning of data reading, wherein the monitoring includes monitoring adata volume stored in the buffer memory while data is read out at thesecond transport speed in the speed switch mode, and outputting a switchnotice if the data volume reaches an initial capacity of the buffermemory.
 11. The method according to claim 7, further comprising: storingin a storage table in which each of the multilevel speeds is associatedwith the second transfer rate, the second transfer rate being selectedwhen the tape drive is caused to operate at the transport speed; anddetermining a transport speed at which the taep medium is caused tooperate, by referring to the table.
 12. The method according to claim11, further comprising: performing error correction on the data storedin the buffer memory, wherein as the second transfer rate stored in thetable, V/T is calculated from a data volume V firstly read out from thetape medium to the buffer memory and then processed by the errorcorrection means in a time span T.